package com.csun.cmny.provider.mapper;

import com.csun.cmny.core.mybatis.MyMapper;
import com.csun.cmny.provider.model.domain.OpcFlowMessageGroup;
import com.csun.cmny.provider.model.domain.OpcFlowMessageGroupWay;
import com.csun.cmny.provider.model.dto.message.FlowMessageQueryDto;
import com.csun.cmny.provider.model.vo.message.FlowMessageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Mapper
@Component
public interface OpcFlowMessageGroupMapper extends MyMapper<OpcFlowMessageGroup> {

    /**
     * query omc flow message group list with page
     *
     * @param flowMessageQueryDto the flow message query dto
     *
     * @return the list
     */
    List<FlowMessageVo> queryListWithPage(FlowMessageQueryDto flowMessageQueryDto);

    /**
     * query flow message by code and group id
     *
     * @param code    the code
     * @param groupId the group id
     *
     * @return the flow message vo
     */
    FlowMessageVo queryByCodeAndGroupId(@Param("code") String code, @Param("groupId") Long groupId);

    /**
     *
     *
     * @param groupId
     * @return
     */
    List<Long> queryMessageIdListByGroupId(Long groupId);


    List<Long> queryMessageWayIdList(OpcFlowMessageGroupWay opcFlowMessageGroupWay);
}